今天感冒,先不講太多
接下來我們來做Model的自動生成,在ModModelProvider中我們Override兩個function,第一個是generateBlockStateModels,第二個是generateItemModels
@Override
public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
}
@Override
public void generateItemModels(ItemModelGenerator itemModelGenerator) {
}
我們先來建立BlockState,在幾天之後我們就要講到樓梯、門、按鈕或告示牌這類的非典型方塊,我們可以先為隕鐵方塊建立一個材質池,讓之後的非典型方塊可以一起使用同一個材質。
@Override
public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
BlockStateModelGenerator.BlockTexturePool sideritePoll = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.SIDERITE_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.KUNLUN_STONE);
}
BlockStateModelGenerator.BlockTexturePool sideritePoll = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.SIDERITE_BLOCK);
建立了一個叫sideritePoll的材質池,所以之後的相關方快就可以使用同一個材質。blockStateModelGenerator.registerCubeAllModelTexturePool同時為Siderite_block建立了Model,CubeAllModel是一個簡單的立方體,六個面都使用相同的材質,類似石頭。
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.KUNLUN_STONE);則是為Kunlun_stone生成了立方體,一樣是六面使用相同材質,與上面不同的是不提供材質池。
至於物品的部分
@Override
public void generateItemModels(ItemModelGenerator itemModelGenerator) {
itemModelGenerator.register(Moditems.Colophony, Models.GENERATED);
itemModelGenerator.register(Moditems.Siderite,Models.GENERATED);
itemModelGenerator.register(Moditems.Meat_of_the_nine_head_phoenixes,Models.GENERATED);
}
非常簡單,只需要使用itemModelGenerator.register,帶入你的物品以及Models.GENERATED來表示你想要生成一個2D物品,這樣就搞定了